import numpy as np


class Vector:
    def __init__(self, n, values):
        self.n = n
        self.values = values

    def __add__(self, other):
        return Vector(self.n, self.values + other.values)

    def __sub__(self, other):
        return Vector(self.n, self.values - other.values)

    def inner(self, other):
        return np.inner(self.values, other.values)

    def mul(self, k):
        return Vector(self.n, k*self.values)

    def __str__(self):
        # return f'Vector({self.n}): {self.values}'
        return f'{self.values}'


v1 = Vector(3, np.array([1, 2, 3]))
v2 = Vector(3, np.array([3, 2, 10]))
print(v1)
print(v1 + v2)
print(v1 - v2)
print(v1.inner(v2))
print(v1.mul(3))
